package jia.core;

import jia.game.DialoguePanel;
import jia.game.MainButtonPanel;
import jia.game.PlayerCharacterList;

import javax.swing.*;

/**
 * @author Alec Lanter
 */
public interface UiManager{
	/**
	 * @param ip
	 */
	public void registerInputProcessor(InputProcessor ip);

	/**
	 */
	public void notifyNeedUpdate();

	/**
	 * @return
	 */
	public JComponent getUiPanel();

	/**
	 * @return
	 */
	public DialoguePanel getDialoguePane();

	/**
	 * @return
	 */
	public PlayerCharacterList getCharacterList();

	/**
	 * @return
	 */
	public MainButtonPanel getButtonPanel();

	/**
	 * Convenience method to give direct hook into setting the dialog panels
	 * text value.  (Basically I got tired of typing .get().get().set(), etc...)
	 *
	 * @param text
	 */
	public void setDialogText(String text);

	/**
	 * @param gs
	 */
	public void registerGameState(GameStateManager gs);
}
